// request对象其实是axios实例
import { Key } from 'react'
import { request } from '@/utils/http'

// 引入ts类型
import {
  IhospitalListParams,
  IhospitalListRes,
  IprovinceList,
  IhospitalShow,
} from './model/hospitalListTypes'
// 获取医院列表表格数据
// 注意: 由于参数很多,所以定义参数列表不是很方便,一般就会要求传入一个对象
// params就是一个存储了所有参数的对象
export const reqHospitalList = (params: IhospitalListParams) => {
  const {
    page,
    pageSize,
    hosname,
    hoscode,
    hostype,
    provinceCode,
    cityCode,
    districtCode,
    status,
  } = params
  return request.get<any, IhospitalListRes>(
    `/admin/hosp/hospital/${page}/${pageSize}`,
    {
      params: {
        hosname,
        hoscode,
        hostype,
        provinceCode,
        cityCode,
        districtCode,
        status,
      },
    }
  )
}

// 获取省数据的函数
export const reqProvince = (dictCode = 'province') => {
  return request.get<any, IprovinceList>(
    `/admin/cmn/dict/findByDictCode/${dictCode}`
  )
}

// 获取市或区数据的函数
// 如果要获取市数据,parentId就是省的编码
// 如果要获取区数据,parentId就是市的编码
export const reqCityOrDistrict = (parentId: string) => {
  // 省市数据结构一样,所以市数据也用之前省的数据类型
  return request.get<any, IprovinceList>(
    `/admin/cmn/dict/findByParentId/${parentId}`
  )
}

// 获取医院详情的函数
export function reqHospitalShow(id: string) {
  return request.get<any, IhospitalShow>(`/admin/hosp/hospital/show/${id}`)
}
